package cn.stylefeng.guns.goods.service;

import cn.stylefeng.guns.core.pojo.page.PageResult;
import cn.stylefeng.guns.core.pojo.response.ResponseData;
import cn.stylefeng.guns.goods.entity.GoodData;
import cn.stylefeng.guns.goods.entity.Goods;
import cn.stylefeng.guns.goods.dto.GoodsDTO;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * goods 服务类
 *
 * @author aria
 * @date 2021/02/20 20:24
 */
public interface GoodsService extends IService<Goods> {

    /**
     * 分页查询goods
     *
     * @author aria
     * @date 2021/02/20 20:24
     */
    PageResult<Goods> page(GoodsDTO goodsDTO);

    /**
     * 查询所有goods
     *
     * @author aria
     * @date 2021/02/20 20:24
     */
    List<Goods> list(GoodsDTO goodsDTO);

    /**
     * 添加goods
     *
     * @author aria
     * @date 2021/02/20 20:24
     */
    ResponseData add(GoodsDTO goodsDTO);

    /**
     * 删除goods
     *
     * @author aria
     * @date 2021/02/20 20:24
     */
    void delete(GoodsDTO goodsDTO);

    /**
     * 编辑goods
     *
     * @author aria
     * @date 2021/02/20 20:24
     */
    void edit(GoodsDTO goodsDTO);

    /**
     * 查看详情goods
     *
     * @author aria
     * @date 2021/02/20 20:24
     */
    Goods detail(GoodsDTO goodsDTO);

    Object popList(GoodsDTO goodsDTO);

    Object sellList(GoodsDTO goodsDTO);

    Object newList(GoodsDTO goodsDTO);

    Object listByType(GoodsDTO goodsDTO);

    Object listByUserId(GoodsDTO goodsDTO);

    Object selectLikeName(GoodsDTO goodsDTO);

    List<GoodData> data();
}